class Goods:
    def __init__(self, price):
        self.__price = price

    @property
    def price(self):
        print(f"我是Goods的初始值{self.__price}")
        return f"我是Goods的初始值{self.__price}"

    @price.setter
    def price(self, value):
        if isinstance(value, int):
            print(f'设置price的值为{value}')
            self.__price = value
        else:
            print('value值应当为正整数')

    @price.deleter
    def price(self):
        print("删除了Goods的一个属性")

    # ----------------第二种表示方法------------
    def get_price(self):
        print(f"我是Goods的初始值{self.__price}")
        return f"我是Goods的初始值{self.__price}"

    def set_price(self, value):
        if isinstance(value, int):
            print(f'设置price的值为{value}')
            self.__price = value
        else:
            print('value值应当为正整数')

    def del_price(self):
        print("删除了Goods的一个属性")

    price_2 = property(get_price, set_price, del_price, "Goods的属性函数")

    # ---------------------------------------


if __name__ == '__main__':
    g = Goods(5)
    res = g.price
    g.price = 1
    print(g.price)
    del g.price
    print("-----------------------")
    g = Goods(8)
    res2 = g.price_2
    g.price_2 = 10
    print(g.price)
    del g.price_2
    print("-----------------------")
    print(Goods.price_2.__doc__)  # 需要使用类名
